﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RN
{
    public class Message
    {
        private int id;
        private string estado;
        private CabeceraMensaje cabeceramensaje;
        private CuerpoMensaje cuerpomensaje;
        private bool isRead;

        /*Constructor se le pasa los datos de quien manda el correo, para quien es el correo, el asunto del correo y el cuerpo del mensaje
        */
        public Message(String from, String to, String subject, String messages)
        {
            this.cabeceramensaje = new CabeceraMensaje(from, to);
            this.cuerpomensaje = new CuerpoMensaje(subject, messages);
        }

        public Message()
        {
            this.cabeceramensaje = new CabeceraMensaje("", "");
            this.cuerpomensaje = new CuerpoMensaje("", "");
        }

        /*Devuelve la cabecera del mensaje
       */
        public CabeceraMensaje datoscabeceramensaje()
        {
            return cabeceramensaje;
        }

        public void datoscabeceramensaje(string From, string To)
        {
            cabeceramensaje.From(From);
            cabeceramensaje.To(To);
        }

        /*Devuelve el cuerpo del mensaje
        */
        public CuerpoMensaje datoscuerpomensaje()
        {
            return cuerpomensaje;
        }

        public void datoscuerpomensaje(string subject, string content)
        {
            cuerpomensaje.Subject(subject);
            cuerpomensaje.Messages(content);
        }
        
        /*
         * Devuelve el si el mensaje fue leido o no
        */
        public bool IsRead
        {
            get { return isRead; }
            set { isRead = value; }
        }
        /*
         * Devuelve el id del mensaje
        */
        
        public int Id
        {
            get { return id; }
            set { id = value; }
        }

        public string Estado
        {
            get { return estado; }
            set { estado = value; }
        }
    }
}
